Introdução à Linguagem R e ao Sistema Quarto

Minicurso
XIII Jornada de Educação, Ciência e Tecnologia

Prof. Dr. Washington Santos da Silva

IFMG - Campus Formiga

22 de outubro de 2024

Dia 1

Tópicos

  • Contexto

  • Atividades: Implementação do Ciclo de Análise de Dados com R + RStudio + Quarto

Dia 2

Tópicos

  • Quarto Dashboards.

  • Aplicativos Web com shiny.

  • Dashboards com shiny e shinydashboard.

Repositório do Minicurso

https://github.com/washingtonsilva/13ject_minicurso

Economia Baseada em Dados

Ciência de Dados e o Ciclo de Análise de Dados

Ciência de Dados

Fonte: Consultoria Análise Macro

Ciclo de Análise de Dados

Modelo Referência do CRISP-DM

Ciclo de Análise de Dados

Ciclo de Análise de Dados da Consultoria Análise Macro

Sistemas Proprietários (pagos)

Linguagens de Programação Abertas

Sistemas Proprietários

Desvantagens

  • Alto custo de licenciamento: : Os sistemas proprietários geralmente possuem custos de licenciamento altos. Podem existir custos adicionais para suporte técnico, treinamento e atualizações.

  • Falta de Flexibilidade: Os sistemas proprietários geralmente não são personalizáveis.

  • Falta de acesso ao código-fonte: O código-fonte dos sistemas proprietários não é acessível aos usuários.

  • Dificuldade em reproduzir análises: A falta de acesso ao código-fonte pode dificultar a reprodução de análises.

Linguagem de Programação para Analisar Dados?

Por que?

  • As linguagens de programação R não são apenas gratuitas, mas também são de código aberto (open-source ) e multiplataforma.

  • Linguagens de programação são ótimas para reprodutibilidade.

  • Linguagens de programação são capazes de analisar dados de todas as formas e tamanhos.

  • Linguagens de programação têm comunidades engajadas e acolhedoras.

  • Possuem milhares de bibliotecas e ferramentas úteis.

Linguagem R

Linguagem R

Descrição

  • R é uma linguagem de programação de domínio específico, derivada da linguagem S, ambas foram criadas para analisar dados.

  • A linguagem R é capaz de analisar dados de todas as formas e tamanhos.

  • A linguagem R não é apenas gratuita, mas também é de código aberto e multiplataforma.

  • Analisar dados com a linguagem R é ótimo para reprodutibilidade.

  • A linguagem R (como toda linguagem de programação) não envolve cliques, e isso é uma coisa boa.

Instalando a Linguagem R

Passo a Passo

  1. Acesse https://cloud.r-project.org/

  2. Selecione o sistema operacional, clicando em Download R for Windows por exemplo.

  3. Na página seguinte clique em base

  4. Clique em Download R-4.4.1 for Windows

  5. Feito o download basta ir clicando em próximo/next até a instalação ser concluída.

Para Saber Mais sobre R

RStudio

RStudio

O que é o RStudio?

  • RStudio é um ambiente de desenvolvimento integrado (IDE) amplamente utilizado para programar em R.

  • Ele oferece uma interface amigável e intuitiva que facilita o desenvolvimento de código, análises de dados, visualização de gráficos e geração de relatórios.

  • O RStudio integra diversas funcionalidades em um único ambiente de desenvolvimento.

Instalando o RStudio

Passo a Passo

  1. Acesse https://posit.co/download/rstudio-desktop/.

  2. Em geral, o site detecta seu sistema operacional e disponibiliza o instalador adequado loga abaixo de 2: Install RStudio.

  3. Clique em Download RStudio Desktop for Windows caso seu sistema operacional seja Windows.

  4. Finalizado o download, basta clicar no arquivo e, em seguida, clicar em em continuar/avançar/next até o início da instalação.

Para Saber Mais sobre RStudio

Linguagem R x RStudio IDE

Ambos os softwares são necessários

  • Você precisa ter a linguagem R e o RStudio instalados.

  • É possível utilizar diversos outros IDEs e editores: VS Code, etc.

Interface do RStudio

Visão Geral dos Painéis

Source

  • O painel Source é o painel no qual são exibidos e onde podemos editar diversos tipos de arquivos, tais como: .R (script R) e .qmd (arquivo do sistema Quarto), entre outros.

Console

  • Painel onde você interage diretamente com o interpretador R. Nele, você pode digitar comandos R manualmente, executar códigos e visualizar imediatamente os resultados ou saídas correspondentes.

Visão Geral dos Painéis

Output

  • Este painel contém:

  • Aba Files:

    • Esta guia fornece uma exploração interativa dos arquivos do sistema operacional. Ela contém recursos para adicionar novos arquivos e pastas, excluir/renomear/mover arquivos, entre outras.
  • Aba Packages:

    • Esta guia permite visualizar os pacotes R instalados, e há uma barra para pesquisar a biblioteca atual de pacotes. Há também um botão para instalação e atualização de pacotes.
  • Entre outras.

O que são Packages (Pacotes)?

Packages (ou Pacotes)

  • Packages são extensões da linguagem R que fornecem funções e ferramentas adicionais para diversas tarefas.

  • Eles são desenvolvidos por uma comunidade vibrante de colaboradores e podem ser instalados de forma gratuita.

  • A CRAN apresenta mais de 21.000 pacotes disponíveis!

CRAN

Descrição

A CRAN, ou Comprehensive R Archive Network, é o repositório oficial online de código e documentação da linguagem R e de seus pacotes. É uma rede de servidores distribuídos pelo mundo que armazenam versões idênticas e atualizadas da linguagem R e de seus pacotes.

Instalando Packages

Usando a Aba Packages:

  1. Clique na Aba Packages.
  2. Clique em Install.
  3. Digite o nome de um ou mais pacotes, no caso de mais de um, separe os nomes por espaço ou vírgula. Por exemplo:
here tidyverse
  1. Clique em Install.

Instalando Packages

Packages

Pontos de Atenção

  • Para instalar pacotes, de R ou Python, é necessária uma conexão ativa com a internet.

  • Pode ser necessário repetir a instalação devido à falhas na conexão, que faz com que os arquivos dos pacotes não sejam baixados completamente.

  • Usando um IDE como o RStudio, ou outro, precisamos instalar pacotes apenas uma vez.

  • Entretanto, para utilizar os pacotes já instalados, precisamos sempre carregá-los com library(nome_do_pacote)

RStudio Projects

O que são RStudio Projects?

  • Cientistas e Analistas de dados mantêm todos os arquivos associados a um determinado projeto juntos e organizados em pastas/diretórios — dados, scripts, relatórios, etc.

  • Esta é uma prática tão sábia e comum que o RStudio tem suporte integrado para isso por meio dos Projects.

RStudio Projects

Vantagens

Melhor Organização: Centraliza todos os arquivos relacionados em um único local, seguindo a boa prática de manter uma estrutura de diretórios organizada.

Código Portátil e Reprodutível: O uso de caminhos relativos e isolamento de ambiente promove a reprodutibilidade, uma pedra angular das boas práticas em ciência de dados.

Colaboração Facilitada: A integração com sistemas de controle de versão incentiva a colaboração e o controle eficiente de mudanças, essenciais em projetos em equipe.

Ambiente Consistente: O isolamento do espaço de trabalho assegura que o código seja executado em um ambiente consistente, reduzindo erros e aumentando a confiabilidade dos resultados.

Sistema Quarto

O que é o sistema Quarto?

  • É um sistema de publicação científica e técnica (relativamente) novo, de código aberto

  • Visa tornar o processo de criação e colaboração dramaticamente melhor.

Sistema Quarto

Sistema Quarto

Tipos de saída

  • Documentos: HTML, PDF, MS Word.

  • Apresentações: Revealjs, Beamer, PowerPoint.

  • Blogs, Websites.

  • Livros

Instalando o Sistema Quarto

Passo a Passo

  1. Acesse https://quarto.org/docs/download/

  2. Clique em Download Quarto CLI e, finalizado o download, instale clicando no arquivo.

  3. Finalizado o download, basta clicar no arquivo e, em seguida, clicar em em continuar/avançar/next até o início da instalação.

Para Saber Mais sobre RStudio

Anatomia de um Documento Quarto

  • Metadados
  • Texto
  • Células de Código

Metadados

Metadados: YAML

“Yet Another Markup Language” ou “YAML Ain’t Markup Language” é usada para fornecer metadados do documento …

… em pares chave-valor (key-value),

… que pode aninhar,

… são exigentes quanto ao recuo,

… e são mantidos entre ---.


---
format: 
  html:
    toc: true
    code-fold: true
---

Metadata: YAML Syntax Rules

---
title: "Título do Document"
author:
  - Santos Dummont
  - Albert Einstein
format:
  html:
    toc: true
    abstract: |
      Aqui vai o abstract.

     Tem dois parágrafos.
---
  • Defina um único valor com

    key: value
  • Defina uma lista de valores:

    key: [val1, val2]
    key:
      - val1
      - val2
  • indente 2 espaços para aninhar

  • Sequências de caracteres de várias linhas seguem |

Metadados: YAML é Exigente com Indentação

Inválido

---
format:html
---


---
format:
html
---


---
format: 
  html:
---

Válido

format: html


format:
  html


format: 
  html:
    toc: true

Texto

Os Elementos de Markdown

Markdown

  • Markdown foi projetada para ser fácil de escrever e ler:

  • Quarto usa versão estendida de Pandoc markdown.

  • Pandoc classifica o markdown em termos de elementos Inline e Block.

Block Elements: Headers

Sintaxe Markdown Saída
# Header 1

Header 1

## Header 2

Header 2

### Header 3

Header 3

#### Header 4

Header 4

##### Header 5
Header 5
###### Header 6
Header 6

Elementos Inline: Formatação de Texto

Markdown

Markdown permite que você formate texto
em *itálico* e **negrito**.
Você também pode adicionar sobrescritos^2^,
subscritos~2~ e exibir código
`verbatim`. Fato pouco conhecido: você pode
também ~~riscar~~ texto e apresentá-lo
em [small caps]{.smallcaps}.

Resultado

Markdown permite que você formate texto em itálico e negrito. Você também pode adicionar sobrescritos2, subscritos2 e exibir código verbatim. Fato pouco conhecido: você pode também riscar texto e apresentá-lo em small caps.

Elementos em Bloco: Paragráfo

Uma ou mais linhas de texto seguidas por uma ou mais linhas em branco.

Markdown

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.

Sed do eiusmod tempor.

Saída

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Sed do eiusmod tempor.


Sem a linha em branco, a quebra de linha é tratada como um espaço.

Lorem ipsum dolor sit amet,
sconsectetur adipiscing elit.
Sed do eiusmod tempor.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor.

Elementos em Bloco: Listas

Podemos usar *, - ou + para itens de listas não ordenados.

Markdown

Lista Não Ordenada:

* vermelho
* verde
* azul

Lista Ordenada:

1. vermelho
1. verde
3. azul

Saída

Lista Não Ordenada:

  • vermelho
  • verde
  • azul

Lista Ordenada:

  1. vermelho
  2. verde
  3. azul


O Pandoc oferece muito controle sobre listas, incluindo aninhamento, listas sofisticadas, listas de definições, blocos em listas e listas de exemplos.

Elementos Inline: Matemática

Markdown

A área de um círculo é $A = \pi r^2$,
onde $r$ é o raio e $\pi$ é
a constante $3,141592\ldots$.

Output

A área de um círculo é \(A = \pi r^2\), onde \(r\) é o raio e \(\pi\) é a constante \(3,141592\ldots\).

Elements em Bloco: Matemática

Markdown

Uma equação maior:

$$
f(x)={\sqrt{\frac{\tau}{2\pi}}}
      e^{-\tau (x-\mu )^{2}/2}
$$

Não funciona:

$$

\bar{x} = \sum_{i=i}^n x_1
$$

Saída

Uma equação maior:

\[ f(x)=\sqrt{\frac{\tau}{2\pi}} e^{-\tau (x-\mu )^{2}/2} \]

Não funciona:

$$

{x} = _{i=i}^n x_1 $$

Uma última coisa!

De onde vem o nome “Quarto”?

Obrigado!

“Os estudantes não sabem o que precisam saber até que precisem saber.”

The Handbook for Economics Lecturers.